iT邦幫忙

2025 iThome 鐵人賽

DAY 23
0

視觀表可以把經常用到的SELECT語句寫成視觀物件的形式儲存起來,當要查詢時該資料時,只要用簡單的語句搜尋
SELECT 欄位 FROM 視觀表
建立視觀表
CREATE [ OR REPLACE ][FORCE | NOFORCE ]VIEW 視觀表名稱
[(欄位別名 [ ,欄位別名]..)]
AS 子查詢
[WITH CHECK OPTION [CONSTRAINT 約束條件 ]]
[WITH READ ONLY [ CONSTRAINT 約束條件 ]];

使用視觀表檢索資料
*SELECT |欄位別名 [, 欄位別名]...
FROM 視觀表
[WHERE 條件];

丟棄視觀表
DROP VIEW 視觀表 ;

透過視觀表新增 刪除 更改基底表資料列規則

  1. 對單純視觀表,可對它進行所有DML動作
  2. 如果構成視觀表的子查詢函有下列元素,則無法刪除資料列
  • 分組函數
  • GROUP BY 子句
  • DISTINCT 關鍵字
  • 虛擬欄位ROWNUM關鍵字
  1. 如果構成視觀表的子查詢含有下列元素,則無法更改資料列
  • 分組函數
  • GROUP BY子句
  • DISTINCT 關鍵字
  • 虛擬欄位ROWNUM關鍵字
  • 由表達式組成的欄位
  1. 如果構成視觀表的子查詢含有下列元素,則無法新增資料列
  • 分組函數
  • GROUP BY子句
  • DISTINCT 關鍵字
  • 虛擬欄位ROWNUM關鍵字
  • 由表達式組成的欄位
  • 未被視觀表選取的基底表欄位中,含有NOT NULL 約束欄位
  1. 如果視觀表使用WITH CHECK OPTION選項則該視觀表再進行DML操作時會受到自動值域檢核約束
  2. 如果視觀表使用WITH READ ONLY選項,則視觀表只能查看資料 不能增刪查改
  3. 在複雜視觀內,如果欄位的主鍵索引是唯一值,即對應的合併基底表是鍵值保留表,就可對該表進行新增 刪除 更改資料
  4. 透過檢索 user_updatetable_columns資料字典column_name及updatable欄位,可查看觀視表內有那些欄位是可以被更改

上一篇
Day 22 資料庫其他物件
下一篇
Day 24 用戶自訂類型
系列文
跟著生成式AI一起從零開始學習資料庫,25
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言